﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BEL;

namespace Web_Guia_Digital_Georeferenciada.Mantenimientos
{
    public partial class Login1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Session["Comercio"] != null || Session["Cliente"] != null || Session["Usuario"] != null)
                {
                    if (Session["Usuario"] != null)
                    {
                        Usuario usu = (Usuario)Session["Usuario"];
                        lblUsuario.Text = "Usuario: " + usu.UsuarioNombre;
                    }
                }
                if (Session["Usuario"] == null)
                {
                    productos.Visible = false;
                    rubros.Visible = false;
                }
                else
                {
                    if (Session["Cliente"] != null)
                    {
                        usuarios.Visible = true;
                        productos.Visible = false;
                        rubros.Visible = false;
                        comercios.Visible = false;
                    }
                    else if (Session["Comercio"] != null)
                    {
                        productos.Visible = true;
                        rubros.Visible = false;
                        comercios.Visible = true;
                        usuarios.Visible = false;
                    }
                    else
                    {
                        productos.Visible = false;
                        rubros.Visible = true;
                        comercios.Visible = true;
                        usuarios.Visible = true;
                    }
                }
                if (Session["Usuario"] != null)
                {
                    Response.Write("<script>alert('Debe estar logueado para ingresar a esta seccion(proximamente filtro) ')</script>");
                    Response.Redirect("../PaginaPrincipalBT.aspx", false);
                }
                txtPass.Attributes["type"] = "password";
            }
            catch (System.Exception ex)
            {
                Response.Write("<script>alert('Ha ocurrido un error en la aplicación')</script>" + ex.Message);
            }
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            try
            {
                String nomusu = Convert.ToString(txtNom.Text);
                String password = Convert.ToString(txtPass.Text);
                BEL.Usuario usu = BEL.Usuario.Login(nomusu, password);
                if (usu != null)
                {
                    Session["Usuario"] = usu;
                    if (usu.Rol == BEL.Usuario.Roles.UsuarioFinal)
                    {
                        BEL.Cliente cli = BEL.Cliente.BuscarCliente(usu.UsuarioId);
                        Session["Cliente"] = cli;
                        Response.Redirect("~/PaginaPrincipalBT.aspx", false);
                    }
                    else if (usu.Rol == BEL.Usuario.Roles.UsuarioComercio)
                    {
                        Session["Comercio"] = BEL.Comercio.ObtenerComercioPorUsuario(usu.UsuarioId);
                        Response.Redirect("~/PaginaPrincipalBT.aspx", false);
                    }

                }
                else
                {
                    limpiarCampos();
                    lblError.Text = ("User o password son incorrectos");
                }

            }
            catch (System.Exception ex)
            {
                Response.Write("<script>alert('Ha ocurrido un error en la aplicación')</script>" + ex.Message);
            }
        }

        public void limpiarCampos() {
            txtNom.Text = "";
            txtPass.Text = "";
        }
    }
}